unit unitadmactividades;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, DBGrids,
  StdCtrls, Menus, sqldb, db, unitmainform, unitactividades;

type

  { TFormAdmActividades }

  TFormAdmActividades = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    MainMenu1: TMainMenu;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem3: TMenuItem;
    MenuItem4: TMenuItem;
    MenuItem5: TMenuItem;
    MenuItem6: TMenuItem;
    MenuItem7: TMenuItem;
    MenuItem8: TMenuItem;
    SQLQuery1: TSQLQuery;
    procedure DBGrid1CellClick(Column: TColumn);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure MenuItem4Click(Sender: TObject);
    procedure MenuItem5Click(Sender: TObject);
    procedure MenuItem7Click(Sender: TObject);
    procedure MenuItem8Click(Sender: TObject);
    procedure ordenar_grid();
  private
    { private declarations }
  public
    dpt_nombre : string;
    dpt_cdg : string;
  end;

var
  FormAdmActividades: TFormAdmActividades;

implementation

{$R *.lfm}

{ TFormAdmActividades }

procedure TFormAdmActividades.ordenar_grid();
begin
  if SQLQuery1.Active = true then
    SQLQuery1.Close;

  SQLQuery1.SQL.Text := 'select * from deporte where dpt_nombre ilike ''%' + dpt_nombre + '%'' order by dpt_nombre';

  SQLQuery1.Open;

  DBGrid1.Columns[0].Title.Caption := 'Codigo';
  DBGrid1.Columns[1].Title.Caption := 'Nombre';
  DBGrid1.Columns[2].Title.Caption := 'Descripcion';
  DBGrid1.Columns[3].Title.Caption := 'Horarios';
  DBGrid1.Columns[4].Title.Caption := 'Espacio';

  DBGrid1.Columns[0].Width := 80;
  DBGrid1.Columns[1].Width := 200;
  DBGrid1.Columns[2].Width := 250;
  DBGrid1.Columns[3].Width := 300;
  DBGrid1.Columns[4].Width := 200;

end;

procedure TFormAdmActividades.FormCreate(Sender: TObject);
begin
  SQLQuery1.DataBase := MainForm.PQConnection1;
  SQLQuery1.Transaction := MainForm.SQLTransaction1;
end;


procedure TFormAdmActividades.DBGrid1CellClick(Column: TColumn);
begin
  if FormAdmActividades.Caption = 'Seleccione Actividad' then
  begin
    dpt_cdg := SQLQuery1.FieldByName('dpt_cdg').AsString;
    dpt_nombre := SQLQuery1.FieldByName('dpt_nombre').AsString;
    close();
  end
  else
  begin
    FormActividades.dpt_cdg := SQLQuery1.FieldByName('dpt_cdg').AsString;
    FormActividades.Edit1.Text := SQLQuery1.FieldByName('dpt_nombre').AsString;
    FormActividades.Edit2.Text := SQLQuery1.FieldByName('dpt_descripcion').AsString;
    FormActividades.Edit3.Text := SQLQuery1.FieldByName('dpt_horarios').AsString;
    FormActividades.esp_nombre := SQLQuery1.FieldByName('dpt_espacio').AsString;
    FormActividades.Caption:='Modificar Actividad';
    FormActividades.ShowModal;
    ordenar_grid();
  end;
end;

procedure TFormAdmActividades.FormShow(Sender: TObject);
begin
  dpt_cdg := '';
  if FormAdmActividades.Caption = 'Seleccione Actividad' then
  begin
    MenuItem1.Visible := false;
    MenuItem3.Visible := false;
  end;
  dpt_nombre := '%';
  ordenar_grid();
end;

procedure TFormAdmActividades.MenuItem4Click(Sender: TObject);
begin
  FormActividades.Edit1.Text := '';
  FormActividades.Edit2.Text := '';
  FormActividades.Edit3.Text := '';
  FormActividades.esp_nombre := '';
  FormActividades.Caption:='Nueva Actividad';
  FormActividades.ShowModal;
  ordenar_grid();
end;

procedure TFormAdmActividades.MenuItem5Click(Sender: TObject);
begin
  ShowMessage('Click en la actividad a modificar...');
end;

procedure TFormAdmActividades.MenuItem7Click(Sender: TObject);
begin
  dpt_nombre := InputBox('Filtro por Nombre', 'Ingrese parte del nombre:', '');

  if dpt_nombre <> '' then
    ordenar_grid()
  else
    dpt_nombre := '%';

end;

procedure TFormAdmActividades.MenuItem8Click(Sender: TObject);
begin
  dpt_nombre := '%';
  ordenar_grid();
end;

end.

